include($$PWD/../qtnet/qtnet.pri)
include($$PWD/../QsLog/QsLog.pri)

win32:{
DEFINES += WIN32_LEAN_AND_MEAN
LIBS += -lWs2_32
}

SOURCES += \
        $$PWD/context/context.cpp \
        $$PWD/context/contextfactory.cpp \
        $$PWD/ctrl/abstractctrlfactory.cpp \
        $$PWD/ctrl/basectrl.cpp \
        $$PWD/ctrl/clientctrl.cpp \
        $$PWD/ctrl/ctrlfactory.cpp \
        $$PWD/ctrl/ctrlfactoryproducer.cpp \
        $$PWD/ctrl/fakectrlfactory.cpp \
        $$PWD/ctrl/serverctrl.cpp \
        $$PWD/ctrl/testclientctrl.cpp \
        $$PWD/ctrl/testserverctrl.cpp \
        $$PWD/data/commonpack.cpp \
        $$PWD/data/initargs.cpp \
        $$PWD/data/perfresult.cpp \
        $$PWD/data/readyargs.cpp \
        $$PWD/data/replypacket.cpp \
        $$PWD/data/requestpacket.cpp \
        $$PWD/data/startargs.cpp \
        $$PWD/data/stopargs.cpp \
        $$PWD/ipfivetuple.cpp \
        $$PWD/pointer/basepointer.cpp \
        $$PWD/pointer/chainmanage.cpp \
        $$PWD/pointer/fakeclientpointer.cpp \
        $$PWD/pointer/fakeserverpointer.cpp \
        $$PWD/pointer/pfpointer.cpp \
        $$PWD/pointer/pointerfactory.cpp \
        $$PWD/pointer/pointercallback.cpp \
        $$PWD/pointer/responsechain.cpp \
        $$PWD/ratecontrol.cpp \
        $$PWD/serialize/commonpackparser.cpp \
        $$PWD/serialize/commonpackwriter.cpp \
        $$PWD/serialize/data.cpp \
        $$PWD/serialize/readyargsparser.cpp \
        $$PWD/serialize/readyargswriter.cpp \
        $$PWD/serialize/replypacketparser.cpp \
        $$PWD/serialize/replypacketwriter.cpp \
        $$PWD/serialize/requestpacketparser.cpp \
        $$PWD/serialize/requestpacketwriter.cpp \
        $$PWD/serialize/startargsparser.cpp \
        $$PWD/serialize/startargswriter.cpp \
        $$PWD/serialize/stopargsparser.cpp \
        $$PWD/serialize/stopargswriter.cpp \
        $$PWD/state/basestate.cpp \
        $$PWD/state/clientprocess.cpp \
        $$PWD/state/finalstate.cpp \
        $$PWD/state/initclientstate.cpp \
        $$PWD/state/initserverstate.cpp \
        $$PWD/state/startclientstate.cpp \
        $$PWD/state/startserverstate.cpp \
        $$PWD/state/statefactory.cpp \
        $$PWD/state/statemachine.cpp \
        $$PWD/state/stopstate.cpp \
        $$PWD/state/workreplystate.cpp \
        $$PWD/state/workrequeststate.cpp \
        $$PWD/threadsafeset.cpp \
        $$PWD/tunnel/basetunnel.cpp \
        $$PWD/tunnel/tunnelcallback.cpp \
        $$PWD/tunnel/tcpclienttunnel.cpp \
        $$PWD/tunnel/tcpservertunnel.cpp \
        $$PWD/tunnel/tunnelfactory.cpp \
        $$PWD/tunnel/udptunnel.cpp

HEADERS += \
        $$PWD/context/context.h \
        $$PWD/context/contextfactory.h \
        $$PWD/ctrl/abstractctrlfactory.h \
        $$PWD/ctrl/basectrl.h \
        $$PWD/ctrl/clientctrl.h \
        $$PWD/ctrl/ctrlfactory.h \
        $$PWD/ctrl/ctrlfactoryproducer.h \
        $$PWD/ctrl/fakectrlfactory.h \
        $$PWD/ctrl/serverctrl.h \
        $$PWD/ctrl/testclientctrl.h \
        $$PWD/ctrl/testserverctrl.h \
        $$PWD/data/commonpack.h \
        $$PWD/data/initargs.h \
        $$PWD/data/perfresult.h \
        $$PWD/data/readyargs.h \
        $$PWD/data/replypacket.h \
        $$PWD/data/requestpacket.h \
        $$PWD/data/startargs.h \
        $$PWD/data/stopargs.h \
        $$PWD/ipfivetuple.h \
        $$PWD/pointer/basepointer.h \
        $$PWD/pointer/chainmanage.h \
        $$PWD/pointer/fakeclientpointer.h \
        $$PWD/pointer/fakeserverpointer.h \
        $$PWD/pointer/pfpointer.h \
        $$PWD/pointer/pointerfactory.h \
        $$PWD/pointer/pointercallback.h \
        $$PWD/pointer/responsechain.h \
        $$PWD/ratecontrol.h \
        $$PWD/serialize/commonpackparser.h \
        $$PWD/serialize/commonpackwriter.h \
        $$PWD/serialize/data.h \
        $$PWD/serialize/idataparser.h \
        $$PWD/serialize/idatawriter.h \
        $$PWD/serialize/readyargsparser.h \
        $$PWD/serialize/readyargswriter.h \
        $$PWD/serialize/replypacketparser.h \
        $$PWD/serialize/replypacketwriter.h \
        $$PWD/serialize/requestpacketparser.h \
        $$PWD/serialize/requestpacketwriter.h \
        $$PWD/serialize/startargsparser.h \
        $$PWD/serialize/startargswriter.h \
        $$PWD/serialize/stopargsparser.h \
        $$PWD/serialize/stopargswriter.h \
        $$PWD/state/action.h \
        $$PWD/state/basestate.h \
        $$PWD/state/clientprocess.h \
        $$PWD/state/finalstate.h \
        $$PWD/state/initclientstate.h \
        $$PWD/state/initserverstate.h \
        $$PWD/state/startclientstate.h \
        $$PWD/state/startserverstate.h \
        $$PWD/state/state.h \
        $$PWD/state/statefactory.h \
        $$PWD/state/statemachine.h \
        $$PWD/state/stopstate.h \
        $$PWD/state/transition.h \
        $$PWD/state/workreplystate.h \
        $$PWD/state/workrequeststate.h \
        $$PWD/threadsafeset.h \
        $$PWD/tunnel/basetunnel.h \
        $$PWD/tunnel/tunnelcallback.h \
        $$PWD/tunnel/tcpclienttunnel.h \
        $$PWD/tunnel/tcpservertunnel.h \
        $$PWD/tunnel/tunnelcallback.h \
        $$PWD/tunnel/tunnelfactory.h \
        $$PWD/tunnel/udptunnel.h
